﻿Imports System.Data
Imports CondorTravel.BC
Imports CondorTravel.BE
Imports CondorTravelUTIL.DL

Public Class EvaluarSolicitudPaquete2
    Inherits PaginaBase

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim bExito As Boolean = False
        Dim sMensaje As String = String.Empty

        If Not Page.IsPostBack Then

            txtInicio.Attributes.Add("readonly", "readonly")
            txtFin.Attributes.Add("readonly", "readonly")

            cle1.StartDate = Date.Now
            cle2.StartDate = Date.Now

            lblTitulo.Text = "Evaluar Solicitud de Paquete"

            Dim objSolicitudPaqueteBC As SolicitudPaqueteBC
            objSolicitudPaqueteBC = New SolicitudPaqueteBC

            Dim objSolicitudPaqueteBE As SolicitudPaqueteBE
            objSolicitudPaqueteBE = New SolicitudPaqueteBE

            objSolicitudPaqueteBE.CodSolicitud = Session("CodigoSolicitudSP")
            objSolicitudPaqueteBC.ListarSolicitudPaquete_Update(objSolicitudPaqueteBE, bExito, sMensaje)

            Dim objSolPaquete As List(Of SolicitudPaqueteBE) = objSolicitudPaqueteBC.ListarSolicitudPaquete_Update(objSolicitudPaqueteBE, bExito, sMensaje)

            ' Mostrar el registro
            Dim strFechaini As String
            Dim strFechafin As String

            txtDesPaquete.Text = objSolPaquete.Item(0).NombrePaquete
            strFechaini = objSolPaquete.Item(0).FechaVigenciaInicio
            txtInicio.Text = Convert.ToDateTime(strFechaini).ToString("dd/MM/yyyy")

            strFechafin = objSolPaquete.Item(0).FechaVigenciaFin
            txtFin.Text = Convert.ToDateTime(strFechafin).ToString("dd/MM/yyyy")

            txtProveedor.Text = objSolPaquete.Item(0).Proveedor
            txtServicios.Text = objSolPaquete.Item(0).Servicios
            txtObservacion.Text = objSolPaquete.Item(0).Observaciones

        End If
    End Sub

    Protected Sub btnAprobar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAprobar.Click
        Try
            Dim objSolicitudPaqueteBE As SolicitudPaqueteBE
            Dim objSolicitudPaqueteBC As SolicitudPaqueteBC
            Dim bExito As Boolean = False
            Dim sMensaje As String = String.Empty

            Dim strDesPaquete As String
            Dim strFechaini As Date
            Dim strFechafin As Date
            Dim strProveedor As String
            Dim strServicios As String
            Dim strObservacion As String
            Dim strUsuario As String

            If validaCampos() Then

                strUsuario = CType(Session("usuario"), UsuariosBE).CodUsuario
                strDesPaquete = txtDesPaquete.Text.Trim
                strFechaini = Convert.ToDateTime(txtInicio.Text.Trim).ToString("dd/MM/yyyy")
                strFechafin = Convert.ToDateTime(txtFin.Text.Trim).ToString("dd/MM/yyyy")

                strProveedor = txtProveedor.Text.Trim

                If strProveedor = Nothing Then
                    strProveedor = " "
                End If

                strServicios = txtServicios.Text.Trim
                strObservacion = txtObservacion.Text.Trim

                If strObservacion = Nothing Then
                    strObservacion = " "
                End If

                objSolicitudPaqueteBE = New SolicitudPaqueteBE

                objSolicitudPaqueteBE.NombrePaquete = Replace(Replace(strDesPaquete, "'", ""), ",", "/")
                objSolicitudPaqueteBE.FechaInicio = Replace(strFechaini, ",", "")
                objSolicitudPaqueteBE.FechaFin = Replace(strFechafin, ",", "")

                objSolicitudPaqueteBE.Proveedor = Replace(Replace(strProveedor, "'", ""), ",", "/")
                objSolicitudPaqueteBE.Servicios = Replace(Replace(strServicios, "'", ""), ",", "/")
                objSolicitudPaqueteBE.Observaciones = Replace(Replace(strObservacion, "'", ""), ",", "/")
                objSolicitudPaqueteBE.UsuarioActualiza = strUsuario
                objSolicitudPaqueteBE.Estado = "B"


                objSolicitudPaqueteBC = New SolicitudPaqueteBC

                objSolicitudPaqueteBE.CodSolicitud = Session("CodigoSolicitudSP")
                objSolicitudPaqueteBC.ModificaSolicitudPaquete(objSolicitudPaqueteBE, bExito, sMensaje)

                If bExito Then
                    Alerta("La solicitud fue aprobada con exito.", True, "SolicitudPaquete2.aspx")
                    limpiaCampos()

                Else
                    lblMensaje.Text = sMensaje
                End If

            End If

        Catch ex As Exception

        End Try
    End Sub

    Function validaCampos() As Boolean

        If txtDesPaquete.Text = String.Empty Then
            Alerta("Faltan ingresar el nombre del paquete.", False, String.Empty)
            Return False
        End If
        If txtInicio.Text = String.Empty Then
            Alerta("Debe seleccionar la fecha de inicio de vigencia.", False, String.Empty)
            Return False
        End If
        If txtFin.Text = String.Empty Then
            Alerta("Debe seleccionar la fecha de fin de vigencia.", False, String.Empty)
            Return False
        End If
        If txtServicios.Text = String.Empty Then
            Alerta("Faltan ingresar la descripción del servicio.", False, String.Empty)
            Return False
        End If

        If txtProveedor.Text = String.Empty Then
            Alerta("Faltan ingresar el proveedor(es).", False, String.Empty)
            Return False
        End If

        Dim fechasIni As String = txtInicio.Text.Trim
        Dim fechasFin As String = txtFin.Text.Trim

        If DateDiff(DateInterval.Day, CDate(txtFin.Text), CDate(txtInicio.Text)) > 0 Then
            Alerta("La fecha inicial no debe exceder al final.", False, String.Empty)
            Return False
        End If


        If (Convert.ToDateTime(txtInicio.Text).ToString("dd\-MM\-yyyy") < Date.Now Or Convert.ToDateTime(txtFin.Text).ToString("dd\-MM\-yyyy") < Date.Now) And Session("TipoEvento") = 0 Then
            Alerta("La fecha debe ser mayor a la actual.", False, String.Empty)
            Return False
        End If

        If Not IsDate(fechasIni) Then
            Alerta("La fecha de inicio de vigencia no tiene formato DD/MM/YYYY.", False, String.Empty)
            Return False
        End If

        If Not IsDate(fechasFin) Then
            Alerta("La fecha de fin de vigencia no tiene formato DD/MM/YYYY.", False, String.Empty)
            Return False
        End If

        Return True

    End Function


    Sub limpiaCampos()

        txtDesPaquete.Text = String.Empty
        txtInicio.Text = String.Empty
        txtFin.Text = String.Empty
        txtProveedor.Text = String.Empty
        txtServicios.Text = String.Empty
        txtObservacion.Text = String.Empty

    End Sub


End Class